1. Field of the Invention
The present invention relates to a client/server system and, more particularly, a client/server system of the type in which a server supervises those data, as a unit, in the system that clients use and in which the clients receive the data from the server to manage and process them, and then return the data to the server after their managing and processing work.
2. Description of the Related Art
As the LAN (local area network) becomes more and more widely used, more and more types of client/server systems, in which data is supervised as a unit by the server, have been proposed. The client/server systems can be classified into various types, depending upon which of client""s and server""s programs executes the processing work of the system.
One type is intended to centrally supervise data such as files in the server""s memory unit. The system of this type has a merit that all of the clients can at any time use the newest data, which has been renewed in the server""s memory unit. The design aid system in which the server centrally supervises a design data base such as the CAD (computer aided design) data can be mentioned as an example of this type. In this system, the clients cause the server to transmit their required data to them, (down-loading) and they apply referring and editing processes to them and return them to the server after their processing (up-loading). The server thus re-news its supervising information of data and then the contents of the data base which it supervises, if necessary.
In this client/server system, it is necessary that those files which form the data base are exclusively controlled and their renewal history is supervised, to avoid their simultaneous renewal being made by a plurality of clients.
The above-mentioned client/server system in which the server supervises those data which clients use, centrally in his memory unit, however, has the following problems to solve when the server or client breaks down.
1) A case where the client breaks down while it is processing data received from the server:
In this case, processing data is left untransmitted in a working area of a memory unit (such as the magnetic disc storage) arranged on the client side, at the time when the client is made operative again. The server""s and client""s memory units, therefore, come to have same data. When the client not only reads but also writes data, the newest data is held on the client""s side. In order to avoid this double-supervision of data, the user must conventionally transmit the not-yet-transferred data, which has been left untransmitted in the working area, to the server by manually inputting a command to the client through the keyboard.
2) A case where the server breaks down:
The client sometimes uses a part of its own memory unit as a save area (which is sometimes called a virtual server area), writes data which must be transmitted to the server into the save area, and stores it there until the server is made operative again. When the server is made operative again in this case, the user must conventionally transmit the data, which has been left untransmitted in the save area, to the server by manually inputting a command to the client, and store the save data in that area of the server""s memory unit where the original data must be stored.
In the above-mentioned conventional measures 1) and 2), however, the user must manually transmit the data from the client to the server while checking whether or not both the server and the client are operating correctly, and whether or not the data is centrally supervised by the server. This is a burden to the user.
Consequently, in order to carry out this manual data transmission, the user must have knowledge about commands supported by the system and used for data transmission, and about the names of areas in the server""s memory unit to which the data must be transmitted. In short, the user must have knowledge about the whole of the client/server system.
Knowledge is required about file transmission commands such as FTP (file transfer protocol) and rcp commands, and about the directory names for the server""s transmitted files. This is a burden to the user and if circumstances demand, he must learn this knowledge from the system supervisor, or ask the supervisor to operate the system instead of him.
Further, it takes time to restore the data because data transmission is made manually.
Furthermore, the user may neglect the required data transmission. This results in the central supervision of data not being attained by the server.
The present invention relates to a client/server system in which data used by clients is supervised exclusively by a server, and the object of the present invention is to automatically hold the exclusive supervision of data is correct even when the client or server breaks down.
The present invention is therefore based on a client/server system of the type wherein the server supervises data, which is common to the clients, exclusively in its memory unit, and wherein the clients can down-load their required data from the server and return it to the server after their processing work is finished.
A first system according to the present invention is as follows:
A server supervising portion monitors whether or not the server is in operation.
A not-yet-transferred data memory portion stores not-yet-transferred data which is to be returned to the server.
A not-yet-transferred data writing portion writes the not-yet-transferred data in the memory portion.
A not-yet-transferred data confirming portion checks whether or not the not-yet-transferred data which is to be returned to the server is in the memory portion.
A not-yet-transferred data transferring portion transfers the not-yet-transferred data to the server when it is confirmed by the not-yet-transferred data confirming portion that the not-yet-transferred data is in the memory portion and when it is also confirmed by the server supervising portion that the server is in operation.
The not-yet-transferred data writing portion may write the not-yet-transferred data only in a previously-determined specific area of the not-yet-transferred data memory portion.
The not-yet-transferred data confirming portion may select data, which is to be transferred to the server, from those not-yet-transferred data which are stored in the memory portion, while comparing the renewal date of the not-yet-transferred data in the not-yet-transferred data memory portion with that of not-yet-transferred data which is supervised in the memory unit by the server.
According to the above-described first system of the present invention, the not-yet-transferred data which is to be transferred to the server is stored in the not-yet-transferred data memory portion by the not-yet-transferred data writing portion. If the client breaks down before the not-yet-transferred data is transferred to the server, the not-yet-transferred data which is not transferred to the server is left, as it is, in the not-yet-transferred data memory portion.
When the client is made operative again, it is checked by the server supervising portion whether or not the server is in operation. The not-yet-transferred data transferring portion asks the not-yet-transferred data confirming portion to confirm whether or not the not-yet-transferred data is in the not-yet-transferred data memory portion, when it is detected by the server supervising portion that the server is in operation.
When the not-yet-transferred data transferring portion is informed by the not-yet-transferred data confirming portion that the not-yet-transferred data is in the not-yet-transferred data memory portion, it reads the not-yet-transferred data out of this memory portion and transfers it to the server.
Even if the client breaks down while holding the not-yet-transferred data which is to be transferred to the server, therefore, the not-yet-transferred data can be automatically transferred from the client to the server without user input when the client is made operative again.
A second system according to the present invention is as follows:
A server supervising portion monitors whether or not the server is in operation.
A save data memory portion stores data which is generated when the server is not operative and which is to be returned to the server.
A save data writing portion writes data as save data in this memory portion when it is asked to transfer the data which is to be returned to the server and when it is detected by the server supervising portion that the server is not in operation.
A save data confirming portion confirms whether or not the save data is in this memory portion when it is detected by the server supervising portion that the server is in operation.
A save data transferring portion transfers the save data, which has been confirmed by the save data confirming portion, to the server.
The save data writing portion writes the save data only in a previously-determined specific area of the save data memory portion.
According to the above-described second system of the present invention, the break-down of the server is detected by the server supervising portion. The save data writing portion writes and retreats data, which is generated in its client unit for transferring to the server, in the save data memory portion until it is detected by the server supervising portion that the server has been made operative again.
When the server is made operative and restarts operation, this is detected by the server supervising portion. When this is detected, the save data transferring portion asks the save data confirming portion whether or not data which is saved without being transferred to the server is in the save data memory portion. When it is informed by the save data confirming portion that the save data is in this memory portion, the save data transferring portion reads the save data out of the save data memory portion and transfers it to the server.
Even if the server breaks down, therefore, data generated in the client during the break-down of the server before transferring to the server, is save and stored, without being lost, and the data thus saved is then automatically transferred from the client to the server without user input when the server is made operative again.
The client of the above-described system according to the present invention further includes a message transmitting portion for transmitting a message to ask that the supervising information of data transferred is renewed after the data is automatically transferred to the server at the time of the above-mentioned break-down. The server includes a data supervision information renewing portion for renewing the supervising information of data transferred by the client when the server receives this message.
According to the above-described client/server system of the present invention, the client can automatically transfer data to the server when the client or server is made operative again after a break-down. At the same time, the server can re-new the supervising information of the data transferred. The server can therefore supervise data, which is used by clients, correctly and exclusively in its unit.